//
//  UIBarButtonItem+Extension.swift
//  ALSinaWeiBoSwift
//
//  Created by 柴瑞军 on 16/4/13.
//  Copyright © 2016年 myCompany. All rights reserved.
//

import UIKit
extension UIBarButtonItem{
    /**
     *  遍历构造器:方便创建对象
     1.在分类里面只能使用遍历构造函数
     2.便利构造函数最终需要调用一个指定构造函数
     3.调用便利构造函数,要保证调用的这个便利构造函数会调用到指定构造函数
     4.构造函数不会省略第一个外部参数名
     */
//创建一个带按钮的UIBarButtonItem
//    便利构造函数
    convenience init(imageNamed:String,target:AnyObject?,action:Selector) {
//        创建按钮
        let button = UIButton()
        
//        设置按钮
        button.setImage(UIImage.init(named: imageNamed), forState: UIControlState.Normal)
        button.setImage(UIImage.init(named: "\(imageNamed)_highlighted"), forState: UIControlState.Highlighted)
        
//        设置按钮的填充样式
        button.sizeToFit()
        
//        绑定方法
        button.addTarget(target, action: action, forControlEvents: UIControlEvents.TouchUpInside)
        
//        调用指定构造函数
        self.init(customView:button)
    }
    
    
//    第二种方法:通过类方法;返回自定义的按钮
    class func creatBarButtonItem(imageNamed:String)->UIBarButtonItem{
    
//        创建button
        let  button = UIButton()
        
        button.setImage(UIImage.init(named: imageNamed), forState: UIControlState.Normal)
        button.setImage(UIImage.init(named: "\(imageNamed)_highlighted"), forState: UIControlState.Highlighted)
        
        button.sizeToFit()
        return UIBarButtonItem(customView: button)
    }
    
}